@风铃
2年前 提问
1个回答

预防失效的身份认证与会话管理漏洞措施有哪些

一颗小胡椒
2年前

预防失效的身份认证与会话管理漏洞措施有以下这些:

  • 始终生成新的会话。如用户登录成功生成新ID,登录失败后尝试再次登录时原有的ID失效,重新给与一个新ID,防止ID重用,

  • 不应使用简单或可预期的密码恢复问题,登录出错时不应提供太多的提示,应使用统一的出错提示。

  • 登录验证成功后更换Session ID,并且最好使用128位以上具备随机性的Session ID,不应在URL中显示Session ID。

  • 第一次登录时强制修改密码,对多次登录失败的账号进行短时锁定,设置会话闲置超时,超时后强制刷新页面否则无法登陆。

  • 提供用户注销退出功能,用户关闭浏览器或者注销时,删除用户Session;

  • 保护Cookie,如在应用程序中为Cookie设置安全属性为Secure flag和HttpOnly flag。

  • 强制使用一定复杂度的密码且加密存储,登录验证使用用户名、密码、后台验证码三者结合,验证码具有时效性,登录失败后的提示信息模糊化,不得提示具体是用户名错误还是密码错误。

  • 登录后的接口均需要携带认证后的token方可正确访问,token具有时效性,超时将会失效,时效时长设置合理。

  • 不需要认证的接口,也需要采用公司内部制定的token生成方法,前端工程师调用接口时携带,且前端代码必须被混淆。